/**
 * cluelog服务
 *
 * @author sxf
 * @email sxf02615@163.com
 * @date 2025/1/15
 */
package com.sxf.crm.service;


import com.sxf.crm.dto.ClueLogDTO;
import com.sxf.crm.entity.ClueLog;
import com.sxf.crm.entity.Clue;
import com.sxf.crm.entity.User;

import java.util.List;

public interface ClueLogService {
    
    ClueLog logCreate(Clue clue, User operator);
    
    ClueLog logUpdate(Clue clue, User operator, String details);
    
    ClueLog logStatusChange(Clue clue, User operator, String statusBefore, String statusAfter);
    
    ClueLog logAssign(Clue clue, User operator, User owner);
    
    ClueLog logClaim(Clue clue, User operator);
    
    ClueLog logRecycle(Clue clue, User operator);
    
    ClueLog logFollowUp(Clue clue, User operator, String details);
    
    ClueLog logConvert(Clue clue, User operator, String convertType, String details);
    
    List<ClueLogDTO> getLogsByClueId(Long clueId);
    
    List<ClueLogDTO> getLogsByOperator(Long operatorId);

    void logAccept(Clue clue, User operator);
}